home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / rcs5ap1b.lzh / RCS5AP.DOC < prev    next >
Text File  |  1991-01-30  |  5KB  |  128 lines

  1. RCS5AP1 is release 1 of Allan Pratt's port of RCS (Revision Control System,
  2. not Resource Construction Kit) version 5.  The date of the release is Jan
  3. 30, 1991.  This is a brief user document describing how to install this RCS
  4. system, the command line options to the main programs, and some of my
  5. changes. The full docs are also part of the distribution.
  6.  
  7. INSTALLATION:
  8.  
  9. 1. Put the TTP's (ci, co, diff, ident, rcs, rcsdiff, rlog) someplace.
  10.  
  11. 2. Set up your environment:
  12.  
  13.     PATH    a comma- or semicolon-separated list of directories
  14.         to search for the executable files.  CO and DIFF must
  15.         be in a directory named in the PATH.
  16.  
  17.     USER    your name.  Don't use spaces.  I use apratt.
  18.  
  19.     TMP    a directory name for temporary files.  A RAMdisk is a good
  20.         choice.  Must not have a trailing backslash.
  21.  
  22.     PWD    your current directory. It need not be set, but if it is
  23.         it has to be right. Some shells set this, others don't.
  24.  
  25. 3. If you don't know what RCS is or how to use it, read this file, then
  26.    RCSINTRO.1LP, then the .1LP files for the various commands.
  27.  
  28. 4. Use rcs, ci, and co to your heart's content.
  29.  
  30. A WORD ABOUT RCS AND FILE NAMES:
  31.  
  32. Under UNIX, RCS files are named like the working file, but end with ,v.
  33. Since on an ST you are stuck with 12345678.123 for file names, there are
  34. some tricks.  In the first place, if there is no dot in the working file
  35. name, then the RCS file name is "name.,v" (dot is added).  If there is a
  36. dot, then ",v" is added.  It doesn't always fit in the three-character
  37. field after the dot, in which case it's just chopped off: "foo.ab" becomes
  38. "foo.ab," with no "v" while "foo.doc" is unchanged.  The final arbiter is
  39. that RCS files all start with the string "head" and it is assumed that
  40. working files never do.
  41.  
  42. Examples:
  43.  
  44.     Working file    RCS file
  45.  
  46.     test        test.,v        note: added dot
  47.     test.c        test.c,v
  48.     test.ab        test.ab,
  49.     test.doc    test.doc    note: no change!
  50.  
  51. The last case is troublesome.  If you have a subdirectory called RCS in the
  52. current current directory, the RCS file will be there, and there's no
  53. problem.  But if you don't have a subdirectory RCS, then the programs will
  54. complain that the file "test.doc,v" isn't an RCS file.  This is to protect
  55. you from having "test.doc" clobbered by "test.doc,v" (which GEMDOS sees as
  56. "test.doc" also).  Conversely, if you're in a directory where the RCS file
  57. test.doc exists, and RCS tries to treat it as a working file, you get a
  58. similar error message from RCS.
  59.  
  60. BRIEF SUMMARY OF COMMAND LINE OPTIONS TO THE MAIN PROGRAMS:
  61.  
  62. CI options:
  63.  
  64. -r[REV]        set revision of checked-in file
  65. -l[REV]        ci, then co -l
  66. -u[REV]        ci, then co
  67. -q[REV]        quiet
  68. -f[REV]        force, even if file is unchanged
  69. -k[REV]        take keyword values (notably revision number) from working file
  70. -d[DATE]    use DATE as the checkin date; if missing, use file's date
  71. -mMSG        use MSG as log msg
  72. -nNAME        give the rev name NAME
  73. -NNAME        remove existing symbol NAME, then give the rev name NAME
  74. -sSTATE        give the rev state STATE
  75. -tFILE        take the descriptive text (not the log) from FILE
  76. -Vn        make the RCS file compatible with RCS version n
  77.  
  78. CO options:
  79.  
  80. -rREV        check out revision REV
  81. -f[REV]        force, even if writable file exists
  82. -l[REV]        check out as locked
  83. -u[REV]        check out as unlocked
  84. -p[REV]        check out and print to stdout
  85. -q[REV]        quiet
  86. -dDATE        check out last rev on or before DATE
  87. -jJLIST        join using JLIST
  88. -sSTATE        set state
  89. -wAUTHOR    check out last rev checked in or locked by AUTHOR
  90. -Vn        make the RCS file compatible with RCS version n
  91.  
  92. RCS options:
  93.  
  94. -i        initialize (empty) RCS file
  95. -bBRANCH    change default branch
  96. -cSYM        change comment symbol to SYM
  97. -aNAMES        add accessors
  98. -AFILE        add accessor list from FILE
  99. -eNAMES        remove accessors
  100. -lREV        lock rev
  101. -uREV        unlock rev
  102. -L        set strict locking
  103. -U        set loose locking
  104. -nNAME[:REV]    add a name (delete if :REV is missing)
  105. -NNAME:REV    add a name, even if it's already there
  106. -oREV[-REV]    delete one or more revisions
  107. -sSTATE:REV    change state
  108. -tFILE        set descriptive text (not log message) to contents of FILE
  109. -q        quiet
  110. -Vn        make RCS file compatible with RCS version n
  111. -k[MODE]    set keyword expansion mode to MODE (-kkv, -kkvl, -kk, -kv, -ko)
  112.  
  113. As a special case (in my modified version, not the released RCS version 5),
  114. you can use the word "head" in place of any REV in the options, and the
  115. head revision of the file will be used.  This means you can assign a name
  116. to the head revision of a set of files using "rcs -nNAME:head rcs\*" even
  117. if they all have different head revision numbers.  This is similar to the
  118. script "rcsfreeze."  Using "head" as a revision number in other contexts
  119. might not work, so don't get too adventuresome.
  120.  
  121. I have made no attempt to port the "merge" operation.  The Bourne-shell
  122. source to the shell script "merge" and the file rcsmerge.c are included
  123. here unmodified.  I don't know if the "join" operation works, either.  You
  124. need diff3 for these, and I have not included diff3 in my distribution.
  125. (The source is in the diff source archive, because it is part of that
  126. distribution, but I haven't tried compiling or running it.)
  127.  
  128.